Navigation receivers capable of positioning with the help of GNSS signals, such as GPS, GLONASS etc., are widely used today. The receivers are employed both in geodetic operations and for automatic, semi-automatic and information support in various machine control systems. For such applications, the navigation receiver has to provide not only a current coordinate estimates, but also estimates of velocity.
Navigation receiver receives and processes signals transmitted by GNSS satellites within a line-of-sight. Satellite signals are modulated by a pseudo-random binary code which is used to measure delays of the received signal relative to a local reference signal. These measurements, normally called “code” measurements, enable pseudo-ranges to be determined, which are different from true ranges-to-satellites due to satellite board-user time scale discrepancy. If the number of satellites is large enough, user coordinates can be determined and time scales coordinated by processing the measured pseudo-ranges.
As soon as satellite signals are received, the receiver can measure pseudo-Doppler offsets of carrier frequency for each satellite. Second- or third-order phase-lock loops (PLLs) are used in receivers for this purpose, and measure the frequency of the received signal, along with a phase of the received signal. Since the satellite's emitted nominal frequency is known, and satellite radial velocity can be calculated by using known satellite orbit and receiver positioning results, the pseudo-Doppler carrier offset related to receiver movement can be obtained. Pseudo-Doppler carrier frequency offset is different from the true one mostly due to instability of a reference oscillator. By co-processing a large amount of satellite measurements, actual receiver velocity and inaccuracy of reference oscillator frequency can be determined. Processing of signal parameters received from all GNSS satellites in view, which enables the receiver to estimate its own coordinates and velocity, is often called the “navigation problem/task”.
One common way of solving the navigation problem is the least squares method (LSM), see Global Positioning System: Theory and Application, edited by B. W. Parkinson, J. J. Spilker, Jr., AIAA, Inc., Washington, vol. 1, 1996. By applying this technique to pseudo-Doppler carrier offsets, estimates of receiver's velocity vector projections can be calculated.
The accuracy of estimates for velocity vector projections depend on the type and settings of a particular receiver, PDOP (position dilution of precision) values, which characterize the GNSS satellites in view, signal-to-noise ratio for received signals and satellite-to-receiver signal propagation conditions. To enhance accuracy of velocity estimations, different filter methods are applied.
U.S. Pat. No. 6,664,923, issued on Dec. 16, 2003, discusses a Kalman filter to simultaneously estimate both position and velocity vector projections using co-processing code and phase measurements in receiver for all GNSS satellites in view. An initialization stage is used to get information about covariance matrix, which is further applied to update the filter state.
U.S. Pat. No. 7,706,976, issued on Apr. 27, 2010, discusses an estimation of velocity vector projections using increments of receiver coordinates, with such coordinates to be used for calculating increments that would be different from each other by a value exceeding statistical accuracy.
Another approach to this problem is based upon integration of measurements taken from the navigation receiver and inertial sensors. Accelerometers are often used as sensors. Three accelerometers measure three acceleration axes. By integrating these accelerations at known original conditions, the three velocity vector projections can be obtained. In the process of taking integrals of accelerations, errors of measurements are, naturally, integrated as well. Variance of vector estimates obtained by accelerometer data is grows over time, and usefulness of such measurements eventually becomes smaller. Co-processing navigation receiver and inertial sensor measurements has to make their coordinate systems consistent. If off-centering of these systems is constant and fixed by a rigid enough design of the device, then angular rotation of one system relative to another remains unknown and should be determined from measurement results.
There are different ways of integration. U.S. Pat. No. 7,193,559, issued on Mar. 20, 2007, for example, discusses a Kalman filter that co-processes a set of code and carrier phase receiver measurements from all GNSS satellites in view, as well as data from additional inertial sensors, thereby estimating receiver position and velocity vector projections.
Generally, each references refer to determining Cartesian coordinate projection and receiver velocity vector projection in a geocentric coordinate system.
Kuzmin, S. Z., Digital processing of radio location information, Moscow, “Soviet Radio”, 1967 (in Russian) (pages 340-341) discloses an approach, including the determination velocity vector modulus (absolute value) and velocity vector orientation angle in space first, and then separate filtering of these values. The benefits of such an approach for radiolocation include a possibility of applying a simpler mechanism of detecting a radiolocation object maneuver and independent identification of instantaneous velocity vector's absolute value changes and directional change in velocity vector. It is important that for radiolocation the measurement, accuracy of an object's moving direction does not depend on movement velocity, and selection of angle filtering parameters depends only on dynamic characteristics of the observed object.
In GNSS, velocity vector projections in the Cartesian coordinate system are primary information. The techniques of obtaining estimates of the velocity vector's absolute value and its direction are well-known. For example, to determine these values for the case of in-plane movement, let VE is the projection of velocity vector onto axis E oriented to the East, and VN is the projection of velocity vector onto axis N directed to the North. Then velocity vector's absolute value is determined byV=√{square root over (VE2+VN2)}  (1)and on angle which defines its direction is as follows
                    θ        =                  arc          ⁢                                          ⁢                      tg            ⁡                          (                                                V                  E                                                  V                  N                                            )                                                          (        2        )            
Note that the inverse trigonometric function used in (2) is a periodic function, uniquely determined within an interval
  θ  ∈            {                        -                      π            2                          ,                  +                      π            2                              }        .  The user is usually interested in heading/azimuth angle Θ, which is uniquely determined within interval Θε{0,+2π}. This angle is normally reckoned from the North in a clockwise direction. Transformation (3) is used together with (2):
                    Θ        =                  {                                                    θ                                                              if                  ⁢                                                                          ⁢                                      〈                                                                  (                                                                              V                            N                                                    ≥                          0                                                )                                            ⁢                                                                                          ⁢                      and                      ⁢                                                                                          ⁢                                              (                                                                              V                            E                                                    ≥                          0                                                )                                                              〉                                                                                                                        θ                  +                                      2                    ⁢                    π                                                                                                if                  ⁢                                                                          ⁢                                      〈                                                                  (                                                                              V                            N                                                    ≥                          0                                                )                                            ⁢                                                                                          ⁢                      and                      ⁢                                                                                          ⁢                                              (                                                                              V                            E                                                    <                          0                                                )                                                              〉                                                                                                                        θ                  +                  π                                                                              if                  ⁢                                                                          ⁢                                      〈                                          (                                                                        V                          N                                                <                        0                                            )                                        〉                                                                                                          (        3        )            
Variance of angle estimates obtained from expression (2) depends on variance of velocity vector projection estimates VE and VN. If the values VE and VN are not correlated
                              σ          Θ          2                =                              1                          V              4                                ·                      (                                                            V                  E                  2                                ·                                  σ                                      V                    N                                    2                                            +                                                V                  N                  2                                ·                                  σ                                      V                    E                                    2                                                      )                                              (        4        )            
Considering that σVE2≅σVN2≅σV2, which is often true in practice of navigation receivers, the variance of angle estimates is as follows:
                              σ          Θ          2                ≅                              σ            V            2                                V            2                                              (        5        )            where σV2 is the variance of velocity vector's absolute value estimate.
It should be noted that expressions (4) and (5) are true if V>>σV. The smaller the velocity vector's absolute value is, the smaller the accuracy of angle measurements will be, and the distribution law of angle estimates tends to become equally probable within a range {0,2π}, and at full stop (V=0), the notation of velocity vector direction has no meaning.